\documentclass[border=10pt,tikz]{standalone}
\usepackage{pgfplots,pgfplotstable,tikz}
\usetikzlibrary{intersections}
\usepackage{verbatim}
\usepackage{moresize}
\usetikzlibrary{calc}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{positioning}
\usetikzlibrary{decorations.text}
\usetikzlibrary{decorations.pathmorphing}
\pgfplotsset{compat=1.14}

% TAKE p_C and p_I as INPUTS FROM THE FOLLOWING FILE: "linmte_no_covars_Y_num_oregonnumhh1.csv" --- generated in Stata by the program file: "linmte_no_covars_graph_data.do"
\def \pC {0.15}	% pB local
\def \pI {0.41}	% pI local

\begin{document}


\begin{tikzpicture}[>=stealth]	% ">=stealth" changes the arrow style

% Axis options
\begin{axis}[					
	width=15cm,					% width of chart
	height=13cm,				% height of chart
	xlabel={$U_D$:  unobserved net cost of treatment},		% x-axis title
	hide y axis,	
	axis x line*=bottom,
	samples=100,  				% sets the resolution for curved lines
	xmin=0,xmax=1,			    % x-axis range
	ymin=0,ymax=1,				% y-axis range
	xtick={0,\pC,\pI,1},	    % only show these x ticks
	xticklabels={0,$p_C=\pC$, $p_I=\pI$,1}, % label x ticks
	legend style={draw=none},	% set legend style, specifically no outline
	legend cell align={left},	% align legend content to the left
	clip=false,					% place nodes outside of plot area
			xticklabel style={
									yshift=-5.5ex,
									name=label,
									append after command={(label.north) edge [solid] ++(0,6ex)},
									/pgf/number format/fixed,
									/pgf/number format/precision=2},
								x label style={at={(axis description cs:0.5,-0.5)},anchor=north}, % increase distance between title and x-axis
	x label style={at={(axis description cs:0.5,-0.11)},anchor=north}, % increase distance between title and x-axis
	]					
	
	
	% Put Always Takers, Compliers, and Never Takers on the x-axis
	\node at (axis cs: \pC/2,0) [below,align=center] {Always \\ Takers};	       % places a node ("\node at") at a point within
	\node at (axis cs: \pC+\pI/2-\pC/2,0) [below] {Compliers};   % the axis coordinate system ("axis cs: x,y") 
	\node at (axis cs: \pI +0.5-\pI/2,0) [below] {Never Takers}; % and places content below the coordinate point ("below")
	
	% Z=0
	\node at (axis cs: -0.03,0.1) [left] {$Z=1$};	       % places a node ("\node at") at a point within
	\addplot[
		black
	] coordinates {(0,0.1) (1,0.1)};	% plots a straight line between these coordinates
	\addplot[
		black
	] coordinates {(\pC,0.18) (\pC,0.22)};	% plots a straight line between these coordinates
	\addplot[
		black
	] coordinates {(0,0.08) (0,0.12)};	% plots a straight line between these coordinates
	\addplot[
		black
	] coordinates {(1,0.08) (1,0.12)};	% plots a straight line between these coordinates
	

	
	% Z=1
	\node at (axis cs: -0.03,0.2) [left] {$Z=0$};	       % places a node ("\node at") at a point within
	\addplot[
		black
	] coordinates {(0,0.2) (1,0.2)};	% plots a straight line between these coordinates
	\addplot[
		black
	] coordinates {(\pI,0.08) (\pI,0.12)};	% plots a straight line between these coordinates
	\addplot[
		black
	] coordinates {(0,0.18) (0,0.22)};	% plots a straight line between these coordinates
	\addplot[
		black
	] coordinates {(1,0.18) (1,0.22)};	% plots a straight line between these coordinates	


	% Label axes
	\node (Z0D1) at (axis cs: \pC/2,0.2) [fill=white] {$D=1$};	       % places a node ("\node at") at a point within
	\node (Z0D0) at (axis cs: 0.5*\pC + 0.5,0.2) [fill=white] {$D=0$};	       % places a node ("\node at") at a point within
	\node (Z1D1) at (axis cs: \pI/2,0.1) [fill=white] {$D=1$};	       % places a node ("\node at") at a point within
	\node (Z1D0) at (axis cs: 0.5*\pI + 0.5,0.1) [fill=white] {$D=0$};	       % places a node ("\node at") at a point within
	%\node [below=-0.01cm of Z1D1,fill=white] {$0\leq U_D \leq p_I$};	       % places a node ("\node at") at a point within
	%\node [below=-0.01cm of Z1D0,fill=white] {$p_I < U_D \leq 1$};	       % places a node ("\node at") at a point within
	%\node [below=-0.01cm of Z0D1,fill=white] {$0\leq U_D \leq p_C$};	       % places a node ("\node at") at a point within
	%\node [below=-0.01cm of Z0D0,fill=white] {$p_C < U_D \leq 1$};	       % places a node ("\node at") at a point within

	
\end{axis}
\end{tikzpicture}

\end{document}